home *** CD-ROM | disk | FTP | other *** search
/ NetObjects Fusion 7 / Fusion7.iso / NetObjects Fusion / data1.cab / Language_Resource_-_English / Components / AdBanner / FadeTransition.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-10-18  |  2.4 KB  |  94 lines

  1. import java.awt.image.MemoryImageSource;
  2.  
  3. public class FadeTransition extends BannerTransition {
  4.    static final int TOTAL_FRAMES = 8;
  5.    static final int MULTIPLIER = 6102575;
  6.    int[][] random = null;
  7.    int pixelsPerFrame = 0;
  8.  
  9.    public FadeTransition() {
  10.       super.numOfFrames = 7;
  11.    }
  12.  
  13.    public void finishInit() {
  14.       this.pixelsPerFrame = super.pixelsPerImage / 8;
  15.       this.random = new int[8][this.pixelsPerFrame];
  16.       int[] random_count = new int[8];
  17.  
  18.       for(int s = 0; s < 8; ++s) {
  19.          random_count[s] = 0;
  20.       }
  21.  
  22.       int roundedPixelsPerImage = this.pixelsPerFrame * 8;
  23.       int seed = (int)System.currentTimeMillis();
  24.  
  25.       int denominator;
  26.       for(denominator = 10; (this.pixelsPerFrame % denominator > 0 || super.imageHeight % denominator == 0) && denominator > 1; --denominator) {
  27.       }
  28.  
  29.       int newRandomsPerFrame = this.pixelsPerFrame / denominator;
  30.       int newRandoms = roundedPixelsPerImage / denominator;
  31.  
  32.       int frame;
  33.       for(int p = 0; p < newRandomsPerFrame; this.random[frame][random_count[frame]++] = p++) {
  34.          seed *= 6102575;
  35.          frame = seed >>> 29;
  36.       }
  37.  
  38.       seed += 20560;
  39.  
  40.       try {
  41.          Thread.sleep(150L);
  42.       } catch (InterruptedException var16) {
  43.       }
  44.  
  45.       for(int p = newRandomsPerFrame; p < newRandoms; this.random[frame][random_count[frame]++] = p++) {
  46.          seed *= 6102575;
  47.          frame = seed >>> 29;
  48.  
  49.          while(random_count[frame] >= newRandomsPerFrame) {
  50.             ++frame;
  51.             if (frame >= 8) {
  52.                frame = 0;
  53.             }
  54.          }
  55.       }
  56.  
  57.       for(int s = 0; s < super.numOfFrames; ++s) {
  58.          for(int ps = newRandomsPerFrame; ps < this.pixelsPerFrame; ps += newRandomsPerFrame) {
  59.             for(int p = 0; p < newRandomsPerFrame; ++p) {
  60.                this.random[s][ps + p] = this.random[s][p] + ps * 8;
  61.             }
  62.          }
  63.  
  64.          try {
  65.             Thread.sleep(50L);
  66.          } catch (InterruptedException var15) {
  67.          }
  68.       }
  69.  
  70.       System.arraycopy(super.owner.banners[super.owner.currentBanner].imagePixels, 0, super.workPixels, 0, super.pixelsPerImage);
  71.  
  72.       for(int f = 0; f < super.numOfFrames; ++f) {
  73.          try {
  74.             Thread.sleep(100L);
  75.          } catch (InterruptedException var14) {
  76.          }
  77.  
  78.          for(int p = 0; p < this.pixelsPerFrame; ++p) {
  79.             super.workPixels[this.random[f][p]] = super.owner.banners[super.owner.nextBanner].imagePixels[this.random[f][p]];
  80.          }
  81.  
  82.          try {
  83.             Thread.sleep(50L);
  84.          } catch (InterruptedException var13) {
  85.          }
  86.  
  87.          super.frames[f] = super.owner.createImage(new MemoryImageSource(super.imageWidth, super.imageHeight, super.workPixels, 0, super.imageWidth));
  88.          super.owner.prepareImage(super.frames[f], super.owner);
  89.       }
  90.  
  91.       super.workPixels = null;
  92.    }
  93. }
  94.